package appvideo.logica;

import appvideo.persistencia.PersistenciaPromocion;
import java.sql.SQLException;
import java.util.*;


public class PromocionesDiasSemana extends Promociones {
    private int dia;
    private double descuento;

    public PromocionesDiasSemana(String nombre, Date fechaInicio, Date fechaFinal, boolean activa, int dia, double descuento, String tipo) {
        super(nombre, fechaInicio, fechaFinal, activa, tipo);
        this.dia = dia; //Día de la semana en la que se aplicará el descuento
        this.descuento = descuento; //Porcentaje*100 que se aplicará
    }
    
    public PromocionesDiasSemana(int id, String nombre, Date fechaInicio, Date fechaFinal, boolean activa, int dia, double descuento, String tipo) {
        super(id, nombre, fechaInicio, fechaFinal, activa, tipo);
        this.dia = dia; //Día de la semana en la que se aplicará el descuento
        this.descuento = descuento; //Porcentaje*100 que se aplicará
    }

    public PromocionesDiasSemana() {
    }
                     
    public double getDescuento() {
        return descuento;
    }

    public void setDescuento(double descuento) {
        this.descuento = descuento;
    }

    public int getDia() {
        return dia;
    }

    public void setDia(int dia) {
        this.dia = dia;
    }        

 
    @Override
    public double damePrecio(List<ProductoAlquilado> pA, Socio s) {
        double precio=0.00; //Precio total                   
        for (ProductoAlquilado paL : pA) {
            Producto p = paL.getProducto();
            Tarifa t = p.getTarifa();
            precio = precio + (t.getPrecio() - ((this.descuento/100)*t.getPrecio()));                        
        }                                          
        return precio;                                    
    }
    
    @Override
    public void insertaPromocion() throws SQLException{
        PersistenciaPromocion.insertaNuevoDiaFeliz(this);
    }
    
    @Override
    public void modificaPromocion() throws SQLException{
        PersistenciaPromocion.modificaNuevoDiaFeliz(this);
    }

    @Override
    public void visualizaPromocion() throws SQLException {
        //PersistenciaPromocion.getPromociones();
    }

    @Override
    public List<Promociones> visualizarPromociones(String filtro) {
        return PersistenciaPromocion.getPromocioness(this, filtro);
    }
    
    @Override
    public List<Promociones> visualizarPromocionesActivas() {
        return PersistenciaPromocion.getPromocionesActivas(this);
    }

    
    public static PromocionesDiasSemana buscaPromocion(String cadena) {
        return (PromocionesDiasSemana)PersistenciaPromocion.buscaPromociones(cadena, new PromocionesDiasSemana());
    }       
    
    @Override
    public String toString() {
        return super.getId()+"\tTipo:" + super.getTipo() + "\tNombre:" + super.getNombre() + "\t\tDía:" + dia + " \tDesc %=" + descuento + "";
    }



                  
}
